<?php namespace Common\Model;
use Hdphp\Model\Model;

class Brand extends Model{
    protected $table='brand';

    protected $validate=array(
        array('bname','required','品牌名称不能为空',3,3),
        array('bname','maxlen:45','品牌名称不能大于45个字符',3,3),
//        array('blogo','required','品牌LOGO不能为空',3,3),
    );

    protected $auto=array(
        array('blogo','getThumb','method',3,3)
    );

    //    获得缩略图
    public function getThumb(){
//        获取前面传来的隐藏域里的旧图片的值 代表是编辑修改
        $oldImg=Q('post.blogo');
//        如果没有上传图片就返回空字符串存入数据库
//        p($_FILES);
        if($_FILES['blogo']['error']==4){
//            判断是否有旧图片的信息
            if($oldImg){
//                返回旧图片的信息
                return $oldImg;
            }
            return '';
        }
//        设置上传类型和  文件的大小
        $files= Upload::type('jpg,jpeg,gif,png')->size(3000000)->make();
//        进行判断
        if($files){
//            如果用户在添加或编辑的时候有图片上传
//            如果有旧图片就先删除旧图片再上传新图片
            if($oldImg){
                unlink($oldImg);
//                还要删除原图
                $path=str_replace('_thumb','',$oldImg);
                unlink($path);
            }
//            p($_FILES);die;
//            如果上传成功，返回上传地址给数据
//            处理缩略图
            $newPath = str_replace('.' . $files[0]['ext'], '_thumb.' . $files[0]['ext'], $files[0]['path']);
            $thumbPath = Image::thumb($files[0]['path'],$newPath,200,200,2);
//            Image::thumb($_FILES['thumb']['name'],$files[0]['basename'],200,200,5);
            return $thumbPath;
//            return $files[0]['path'];
        }else{
            //把上传错误压入到当前模型的错误属性，这样外面的控制器就可以用getError来调取了
            $this->error=Upload::getError();
        }
    }

    //    品牌的添加
    public function store(){
        if($this->create()){
            $this->add();
            return true;
        }
        return false;
    }


    //编辑
    public function edit(){
        if(!$this->create()) return false;
        $this->save();
        return true;
    }
}